<script>
  import config from './config'
  import { getToken } from '@/utils/auth'

  export default {
    onLaunch: function() {
      this.initApp()
    },
    methods: {
      // 初始化应用
      initApp() {
        // 初始化应用配置
        this.initConfig()
        // 检查用户登录状态
        //#ifdef H5
        this.checkLogin()
        //#endif
        // #ifdef MP-WEIXIN
        this.checkWxUpd();
        //#endif
      },
      initConfig() {
        this.globalData.config = config
      },
      checkLogin() {
        if (!getToken()) {
          this.$tab.reLaunch('/pages/index') 
        }
      },
      checkWxUpd(){
        // #ifdef MP-WEIXIN
        const updateManager = uni.getUpdateManager();

        updateManager.onCheckForUpdate(res => {
          // 检查到新版本
          if (res.hasUpdate) {
            uni.showToast({
              title: '发现新版本，正在下载...',
              icon: 'none'
            });
          }
        });

        updateManager.onUpdateReady(() => {
          uni.showModal({
            title: '更新提示',
            content: '新版本已准备好，是否重启应用？',
            success: (res) => {
              if (res.confirm) {
                updateManager.applyUpdate(); // 应用新版本并重启
              }
            }
          });
        });

        updateManager.onUpdateFailed(() => {
          uni.showToast({
            title: '更新失败，请检查网络',
            icon: 'none'
          });
        });
        // #endif
      }
    }
  }
</script>

<style lang="scss">
  @import '@/static/scss/index.scss'
</style>
